package com.example.victory.swagger.model;

import java.util.Objects;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.validation.annotation.Validated;
import javax.validation.Valid;

/**
 * CRM用户信息
 */
@ApiModel(description = "CRM用户信息")
@Validated
@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2021-04-26T10:50:39.083+08:00")

public class CrmUser   {
  @JsonProperty("id")
  private Integer id = null;

  @JsonProperty("userid")
  private String userid = null;

  @JsonProperty("crmid")
  private String crmid = null;

  @JsonProperty("rybh")
  private String rybh = null;

  @JsonProperty("jjrbh")
  private String jjrbh = null;

  @JsonProperty("name")
  private String name = null;

  @JsonProperty("phone")
  private String phone = null;

  @JsonProperty("idcodeType")
  private Integer idcodeType = null;

  @JsonProperty("idcode")
  private String idcode = null;

  @JsonProperty("role")
  private CrmRole role = null;

  @JsonProperty("org")
  private CrmOrg org = null;

  public CrmUser id(Integer id) {
    this.id = id;
    return this;
  }

  /**
   * id
   * @return id
  **/
  @ApiModelProperty(example = "1", value = "id")


  public Integer getId() {
    return id;
  }

  public void setId(Integer id) {
    this.id = id;
  }

  public CrmUser userid(String userid) {
    this.userid = userid;
    return this;
  }

  /**
   * 用户账号
   * @return userid
  **/
  @ApiModelProperty(example = "liyj", value = "用户账号")


  public String getUserid() {
    return userid;
  }

  public void setUserid(String userid) {
    this.userid = userid;
  }

  public CrmUser crmid(String crmid) {
    this.crmid = crmid;
    return this;
  }

  /**
   * 人员ID
   * @return crmid
  **/
  @ApiModelProperty(example = "123456", value = "人员ID")


  public String getCrmid() {
    return crmid;
  }

  public void setCrmid(String crmid) {
    this.crmid = crmid;
  }

  public CrmUser rybh(String rybh) {
    this.rybh = rybh;
    return this;
  }

  /**
   * 人员编号
   * @return rybh
  **/
  @ApiModelProperty(example = "100012", value = "人员编号")


  public String getRybh() {
    return rybh;
  }

  public void setRybh(String rybh) {
    this.rybh = rybh;
  }

  public CrmUser jjrbh(String jjrbh) {
    this.jjrbh = jjrbh;
    return this;
  }

  /**
   * 兼容旧系统的人员编号，部分老员工有
   * @return jjrbh
  **/
  @ApiModelProperty(example = "100012", value = "兼容旧系统的人员编号，部分老员工有")


  public String getJjrbh() {
    return jjrbh;
  }

  public void setJjrbh(String jjrbh) {
    this.jjrbh = jjrbh;
  }

  public CrmUser name(String name) {
    this.name = name;
    return this;
  }

  /**
   * 用户姓名
   * @return name
  **/
  @ApiModelProperty(example = "张三", value = "用户姓名")


  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public CrmUser phone(String phone) {
    this.phone = phone;
    return this;
  }

  /**
   * 手机号码
   * @return phone
  **/
  @ApiModelProperty(example = "13488889999", value = "手机号码")


  public String getPhone() {
    return phone;
  }

  public void setPhone(String phone) {
    this.phone = phone;
  }

  public CrmUser idcodeType(Integer idcodeType) {
    this.idcodeType = idcodeType;
    return this;
  }

  /**
   * 身份证类型,0-身份证，1，4，9，99
   * @return idcodeType
  **/
  @ApiModelProperty(example = "0", value = "身份证类型,0-身份证，1，4，9，99")


  public Integer getIdcodeType() {
    return idcodeType;
  }

  public void setIdcodeType(Integer idcodeType) {
    this.idcodeType = idcodeType;
  }

  public CrmUser idcode(String idcode) {
    this.idcode = idcode;
    return this;
  }

  /**
   * 身份证
   * @return idcode
  **/
  @ApiModelProperty(example = "433100112121", value = "身份证")


  public String getIdcode() {
    return idcode;
  }

  public void setIdcode(String idcode) {
    this.idcode = idcode;
  }

  public CrmUser role(CrmRole role) {
    this.role = role;
    return this;
  }

  /**
   * Get role
   * @return role
  **/
  @ApiModelProperty(value = "")

  @Valid

  public CrmRole getRole() {
    return role;
  }

  public void setRole(CrmRole role) {
    this.role = role;
  }

  public CrmUser org(CrmOrg org) {
    this.org = org;
    return this;
  }

  /**
   * Get org
   * @return org
  **/
  @ApiModelProperty(value = "")

  @Valid

  public CrmOrg getOrg() {
    return org;
  }

  public void setOrg(CrmOrg org) {
    this.org = org;
  }


  @Override
  public boolean equals(java.lang.Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    CrmUser crmUser = (CrmUser) o;
    return Objects.equals(this.id, crmUser.id) &&
        Objects.equals(this.userid, crmUser.userid) &&
        Objects.equals(this.crmid, crmUser.crmid) &&
        Objects.equals(this.rybh, crmUser.rybh) &&
        Objects.equals(this.jjrbh, crmUser.jjrbh) &&
        Objects.equals(this.name, crmUser.name) &&
        Objects.equals(this.phone, crmUser.phone) &&
        Objects.equals(this.idcodeType, crmUser.idcodeType) &&
        Objects.equals(this.idcode, crmUser.idcode) &&
        Objects.equals(this.role, crmUser.role) &&
        Objects.equals(this.org, crmUser.org);
  }

  @Override
  public int hashCode() {
    return Objects.hash(id, userid, crmid, rybh, jjrbh, name, phone, idcodeType, idcode, role, org);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class CrmUser {\n");
    
    sb.append("    id: ").append(toIndentedString(id)).append("\n");
    sb.append("    userid: ").append(toIndentedString(userid)).append("\n");
    sb.append("    crmid: ").append(toIndentedString(crmid)).append("\n");
    sb.append("    rybh: ").append(toIndentedString(rybh)).append("\n");
    sb.append("    jjrbh: ").append(toIndentedString(jjrbh)).append("\n");
    sb.append("    name: ").append(toIndentedString(name)).append("\n");
    sb.append("    phone: ").append(toIndentedString(phone)).append("\n");
    sb.append("    idcodeType: ").append(toIndentedString(idcodeType)).append("\n");
    sb.append("    idcode: ").append(toIndentedString(idcode)).append("\n");
    sb.append("    role: ").append(toIndentedString(role)).append("\n");
    sb.append("    org: ").append(toIndentedString(org)).append("\n");
    sb.append("}");
    return sb.toString();
  }

  /**
   * Convert the given object to string with each line indented by 4 spaces
   * (except the first line).
   */
  private String toIndentedString(java.lang.Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }
}

